package com.xltq.service.impl;


import com.xltq.dao.IAddressDao;
import com.xltq.dao.impl.IAddressDaoImpl;
import com.xltq.entity.Address;
import com.xltq.service.IAddressService;

import java.util.List;

public class IAddressServiceImpl implements IAddressService {
    //先提供dao层操作对象
    IAddressDao addressDao = new IAddressDaoImpl();
    @Override
    public List<Address> findAddressByUid(int uid) throws Exception {
        return  addressDao.selectAddressByUid(uid);
    }

    @Override
    public void saveAddress(Address address) throws Exception {
            addressDao.insertAddress(address);
    }

    @Override
    public void deleteAddressByAid(String aid) throws Exception {
            addressDao.deleteAddress(aid);
    }

    @Override
    public void setAddress(Address address) throws Exception {
        //普通修改,修改地址的所有信息(除u_id之外)
        addressDao.updateAddress(address);

    }

    @Override
    public void setaddressToDefault(String aid, int uid) throws Exception {
            //为什么在Dao层中的设置普通地址的位置使用一个 a_id != ?操作
           /*
           将某一个地址设置为默认,那么剩余地址皆为普通
           传递到这个Service方法的aid是为了设置为默认地址aid
           这里就需要做一个操作,设置当前aid地址为默认,除了这个aid地址之外都是普通吧
           所以在dao层需要做一个判断 a_id != 传递到service层中aid 参数
           外界在设置某个aid地址为默认地址的时候,其余地址都要为普通
            */
           //保证传递进来的aid为默认地址
        addressDao.updateAddressToDefault(aid);
        //将剩余地址修改为普通
        addressDao.updateAddressToCommons(aid, uid);
    }
}
